package cn.ilovese.collect.vo.transaction;

import cn.ilovese.collect.po.transaction.Transaction;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;

import java.util.Date;

@Data
@NoArgsConstructor
public class TransactionDetailVO {
    private Integer id;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date time;

    /*
    交易类型，发包方的交易类型包括：1. 个人充值；2. 任务扣款；3. 任务返还。众包工人的交易类型包括：4. 任务薪酬；5. 活跃值奖励；6. 个人提现。
     */
    private String type;

    private Integer in;

    private Integer out;

    private Double balance;

    /*
    备注。当类型为“2. 任务扣款”或者“3. 任务返还”的时候，备注格式为：“任务：<任务名称>”。当类型为“4. 任务薪酬”时，备注格式为：“任务：<任务名称>；工人星级：<工人星级>”
     */
    private String remark;

    private String transactionNumber;

    public TransactionDetailVO(@NonNull Transaction transaction){
        id=transaction.getId();
        transactionNumber=transaction.getTransactionNumber();
        type=transaction.getType();
        time=transaction.getTime();
        in=transaction.getIn();
        out=transaction.getOut();
        balance=transaction.getBalance();
        remark=transaction.getRemark();
    }
}
